don't force upgrade
split logic from bin program, add multi-queue support