implement an owned rope type