#3 correcting implementation.