Jesus fuck...this is worse than ruby versioning