user mode part 1
user model