WIP : refactor