converted multiple models into a single generic item object and finished adding the broker logic from the ruby version