setting up blocks (with annoying workarounds)