First commit

All source code file and readme with implementation details