major callback design overhaul