added allowNegative methods, and withdraw returns success