add and delete now asynchronous