refactored marker service