fixed #1: preUseAmountCheck() update