almost finished client