abstracted variables setup