add functionality for selection, toggling between selection and navigation, and propagating selection to data layer