fixes #14 - we should only set up the socket connection once instead of every time we authenticate