Testcases added. Uncommitted files included.