add client.init interface