components and initial markup