added support for adding and deleting