adding various callbacks