modified userinfo function