add unit tests
merge