Added some validations and finished front-end