Required changes: modify library download, create OS checking methods Optional changes: modify library path