Initial Commit. Added in given files + test cases.