add documentation, fix comments and clean_up, update version
Makefile fixing
Makefile fixing