Initial commit

All test cases passed
Minor changes