cleaned up registration flow