The rope implementation