custom registration flow