changed anonymous struct names to use a consistent hash code