added map service and other logic