rewards can now be 1d numpy array