Added some more validation and messages