src: refactor