Added source code and Makefile