operation and programming functions