fixing requirements, and test suite.