added classes and restructured makefiles
restructured