refactor a litle