Not quite sure how well this implementation is, but navigation works
now.