refactored project, added makefile to root and lib dir