refactored EnvironentLoader