code done, test cases remaining