chaged environment class, no need to use mutables or refs!