add control behavior