added login callback