introduce NavComposite