added constructor, fixed remove callback