some change to the f ctor