trying to refactor
refectoring