Refactored mapviewcontroller