allowing NULL as the callback functions in certain sitiations