start refacte code