throw exception when offset does not exist
Iterator implemented
add orientation number