A more efficient, but buggy, implementation