refactorin working
tightened