Refactored create block