Refactored block objects