add unit tests
update unit tests
add acceptance tests