improved include and compile structure
organized makefile