Replaced old with new implementation