completed main client, but need to finish the client thread and testing.