- a header - a body - a block of code - a condition