1st step to refactor