add PlayerListener