Split block to separate pieces for more flexibility and better naming.