initial cut at support for custom navigation