validation and messages