Initial Commit with all the implementations
Resolved merge conflict