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