add tests and README