Updated login with loading screen, async login