refractored for intro