Huge redesign in models and seperation into fragments.