allow creating client without using new