create models and associations