this is not fully thought through :( cannot rely on the result of the block