separating out basic.hpp into constitent parts
updated makefile for new changes