uses up CP and gives array of actions to inputoutput