Added code and Makefile