split blocks into its own class