add remove and clear