2105.18: refactor