How to setroot to a page but still with back button

#1

Page flow:
Menu (just a normal page, not app menu) > profile > set user name > complete (pages)

My implementation:
Menu (push)> profile (push)> set user name (setroot)> complete (setroot)> profile

The problem is that:
complete page should not be able to back to set user name so I use setroot to complete page.
As profile page should go back to menu, after setroot to profile from complete, there is no back button to menu.

Workaround:

  1. use push every time and hide back button on complete page and pop to profile if needed
    not suggested as hardware back button need to be supported and would like to keep nav stack

  2. implement custom back button on profile page such that it must go back to menu

  3. insert page such that menu > profile in nav stack after leaving complete

any guide for implementing such page flow?
thanks