Add authenticated client
Make options hash optional
Require version constant before using it