fixed -1 balance bug