Block implementation