intro and refractoring