Big first commit.
Please refer to the history to get the changes.
Also refer to the README.md file for instructions