layout and user model