358: refactor