guarantee callback from constructor