Added indepth documentation for user model