set up models and associations