optimized, 25-50% faster