Initial commit
Implement all the functions and make it executable.