control-and-programming functions