Second mildly faster version