can do negative value for budget in budget view, fixed some NaN problem