code done, missing test cases