added a new cleass: DBAgentFactory.