client main