Added error messages and validation AND added more JS