I tried to split things up a bit and define even more steps