added makefile, new classes, revised class functions