added remaining budget functionality