added temporary factory until the version we want is complete