Correct level 4 implementation