Added validation and messages