this is a bit more readable - and seems not to be slower...