fixing the callback/remove pattern