Removed delegate pattern. Updated for block pattern