block define and more