better variable mapping in generic services