Refactor navigation, add dragging