commit: class and hierarchy