organized source code; updated Makefile accordingly