added NAVIGATE macro to share more code