subclassed rlock