add remove and edit function