Added codes and makefile