modify budget logic