implement ibmmodel2