add various callbacks