A Skip List Implementation in Software Transactional Memory