added copy constructor to factor