Another thing we should not forget is backward compatibility. Will these two routines work the same. Maybe there should be a switch which lets the user decide which method to use?