add more validation checks and to help to generate an formular