src: refractor