Added a makefile and promise support