add email/username logic to LoginForm and update userkey model