refactored with passport js (still in progress)
progress on passport.js