search form generation