Added source code, makefile and header files