added mapController to break up functionality
added mapCtrl