dynamic user model [wip]