add control functions