refactor: refactor code into exactly directories