Add CPS and staged CPS version