optimized computeURL()