first commit with assignment models and abstractuser