added more client codes