357: refactor