With contributions from: ian, Laurent, ian, garrison, garrison, 169.231.48.249