different classes for versions