refactor to support new base util_* functions
added function to generate username for user model
adding support for facebook login
refactored to use cleaner structure