code restructured into separate files
Makefile added