1. restore values one block a time(vectorization) 2. performance benchmark test