refactor onboarding