improved client creation