store block nr in block instead of maintaining extra variable
TODOs
obtain iterators more efficiently
reduce virtual array capacity from start of linked list
TODOs