280: refactor