better variable resolve