Rewrote Block class.