refactored version message classes