Initial revision of the source code and makefile