scaffolded user, event, shift models