Divided up the code into folders, and made appropriate changes to the
Makefile. It could be make more cleaner.