explain the two types of code blocks