Attributes contributed by Freeman, Kartanym.
Ratings contributed by Kartanym, Xoleras, formercontrib.