refactor page navigation
refactor dependency injection
add navigation service