more advanced example: callbacks, custom navigation and auto mode