library and test