program variables and events