Broke up model into component modules