What was wrong with the previous implementation?