upgrade: be more precise about what constitutes an installation
upgrade: use a method rather than a boolean flag
upgrade: this only deserves one line
wip