add onSetup callback