359: refactor