Fix for 144 - refactor blocks

This is interesting. Can I ask what the benefit is to using the constructor pattern here?