We introduce Leap-List, a concurrent data-structure that is tailored to provide linearizable range queries. A lookup in Leap-List takes O(log n) and is comparable to a balanced binary search tree or to a skip-list. However, in Leap-List, each node holds up-to K immutable key-value pairs, so collecting a linearizable range is K times faster than the same operation performed non-linearizably on a skip-list.We show how software transactional memory support in a commercial compiler helped us create an efficient lock-based implementation of Leap-List. We used this STM to implement short transactions which we call Locking Transactions (LT), to acquire locks, while verifying that the state of the data-structure is legal, and combine them with a transactional COP mechanism to enhance data structure traversals.We compare Leap-List to prior implementations of skip-lists, and show that while updates in the Leap-List are slower, lookups are somewhat faster, and for range-queries the Leap-List outperforms the skip-list's non-linearizable range query operations by an order of magnitude. We believe that this data structure and its performance would have been impossible to obtain without the STM support.