new code for program preferences for less boilerplate code