separated client class into module