update readme and add tests