added multiple build passes for each type