First commit

Implement features mentioned in the Readme