Adding advanced handler to give some more control to caller