front-end validation done