this is pointless, just re-write the factory