a lazy data structure