add callbacks and enable, disable method'