Add is now fully asynchronous