lidt refactor