Made the API a bit more friendly to implement and added digital good fields, which will eventually need to be refactored out