add some more sanity checks on adjustments
add logic for handling adjustments that charge extra instead of discount.