added unit test and acceptance test