just refactor it