add remove and clear

passed all current tests