added in deal functionality will support mutliple deal types.