add tests and help