Basic CPM external structure borrowed from GLM.