code, explanations, answers