smaller/smarter LoginController