define variables and functions