Add user model
Greatly improve user model
Add index to user model
Merge branch 'usermodeling'