adding and deleting fully functional