defined more test cases. remove functions do not work properly