rename Block.run() to Block.apply()
make Block.run() return void