Added documentation and Makefile