creates models and associations