add tests and readme