add spend functionality