implemented the update and remove callbacks, although they are yet untested