headers cleanup
added source code
added example for test
working Makefile