improved user.js