splitting up type inference class