Added remove function.
Added more test cases and asserts