light refactor