using __slots__ to limit memory use when generating enormous numbers of object instances
typo