are you going to do callbacks in a separate PR?