Interpret blocks, and some refactors