simplified "listeners" object by making it a list