added server status listener pattern