added add, remove and contains