CPS, concete and abstract, added.