players now use LinkedHashSet instead of Set to ensure insert order