Port the ReadEnv component