version 2.0

with form validation