added back library as a submodule instead of hard copy