made the listener into a final
added handling of error responses
added method to send GetRoomsRequest