main client