setting up some factories
conflicts resolved