Merged some changes, added additional test cases