added add/remove and move functions