cleaned up library and added assumptions to readme