turning last straight model calls to a factory