1.clean client code