abstracting out environment settings - part 1