refactoring of SalesforceContract