tweaking the callback system