change: add budget setting function