completed add and delete functionality