another refactor
todo i refactor