adding non-interactive upgrade; addresses #29