fixing all message classes
more programmatic