mainly changes about naming and styling
add the makefile
make the test suit self-containing