block generates upgrade