add tests
update tests