split out the steps into their own tasks