refactor per maintainer's request