Refactored block-implementation, added new functionality