added check out of order and storage depth