tidied up canister dispense logic. #32