Add library and test suite