Many changes: e.g. Environment, np.roll()