Fixed miscellaneous issues

-Added makefile
-updated method declaration
-fixed a number of include statements
`root` is included by default, you can remove it.