client and factory changes