throwing code into NavUtilLib part I

in the process of throwing more code into NavUtilLib instead of in the
internal prop