abstracting variables