fully implemented listeners list handling