initial client
change to singleton implementation