added add/edit/remove functionality