refactor
init unit test
add makefile to run unit tests