add respond, optimize script loading, add client-side form validation