Update engine to support headers and add makefile