Pim 3196 bis bis

nicer than my implementation :)