working revamp, need make a legitimate cpi method