updated cpu and datapath