listener now a singleton, client to be fixed to allow for changing of servers