Upgraded submodules
Refactored Makefile