gruber makes initial model and associations implementation