Cmodel types function now insures order