add unit tests
update test