add callbacks functionality