Enter the ‘Crawlspaces of Love’: An introduction to Flavor Basket

“Which parking lot are we gonna live in now?” Charlie Vestal was a creature of parking lots, basements, DIY venues, skate parks, junk stores and late night song circles. His song “Night Motivation,” his parking lot paean, has stricken me deeply lately and I can’t see the nighttime locales of Ames, his haunts for the touched decade of his songwriting career, without seeing who isn’t there.

The Ames music community has been devastated by the loss of Vestal, a highly regarded — and prolific — local songwriter who performed for years as Flavor Basket before dying of depression on Jan. 13. In addition to his extensive work as Flavor Basket, he also played in and wrote songs for numerous bands, including the Chinchillas, Banshee Beat, Morning Sex & the Good Weed, the Intruders, Beach Toys and more.

Flavor Basket Tribute Show

Arbor Bar — Thursday, March 30 at 8 p.m.

Though a constant presence in the Ames scene, Vestal rarely played outside of central Iowa and is likely not familiar to many Iowa music fans outside of Story County. If he’s new to you, this is the time to check him out. He left behind a large and beautiful catalog of recorded music, which is all streaming on Bandcamp, largely through the Ames-based hand-made label Nova Labs. More of his unreleased music is currently being collected.

On March 30, the Arbor Bar (60 W Burlington Ave, Fairfield), one of the few venues he played outside of central Iowa, will host a tribute to Flavor Basket, with performances from friends (including this author) and displays of his visual art and keepsakes.

Flavor Basket at the Maximum Ames Music Festival. — photo by Derek Siedelmann

Vestal was notable for his huge smile and for his hilarious, often nonsensical, humor, a key feature of his art as well. He was a huge fan of music and pop culture and collected nostalgic toys and comic books, which he cherished. He was a devotee of sixties pop and rock’n’roll and an aficionado of first wave and pop punk.

The marriage of these musical loves is embodied over and over throughout his catalog. Armed primarily with an acoustic guitar and a witty, touching lyricism, Vestal developed a distinctive songwriting style heavy on catchy melodies, brilliant turns of phrase and musical non-sequiturs. Vestal had a way of being funny and poignant at once; his music is filled with jokes yet is often touching or sad.

Let’s look through just a few of the many gems of Flavor Basket’s outstanding musical legacy with some of the videos and songs that capture his many-sided musical brilliance. We don’t have Vestal in our parking lots and basements anymore, but he’s fully present in every moment of his music. His humor, his sweetness, his talent, his illness: they are all right there.

“Family Jewels”

This is one of the best videos we have of Vestal; he gives a lovely performance and his smile and charm are on full display. This was recorded by Lyndsay Nissen at Reliable Street, an art space where he was a regular. This song is also a good example of how Vestal tends to move through a series of appealing one-off melodies in the progression of a song, one of the marks of his style. Key into his nice guitar composition here, too.

“Crawlspaces of Love”

This song shows Vestal’s creative manner of approaching touching lyrics. His poetic phrasing strikes the ear at first as abstract, but the emotional impact is direct. He had a clever way of reaching the heart by a round-about path. Be sure to check out the album version from


This is one of his best tunes — a sing-along-friendly number widely beloved in Ames’ music community. Vestal was a master of crafting golden melodies that sound familiar on first hearing, and this is one of them.

“Tuesday Will Be Better”

A very beautiful video recorded by Leslie Hall and Kate Kennedy at their home studio, this is also a uniquely personal and tender song.

“Walter Seaholm”

This is a career high for Vestal’s songwriting and is often cited by his friends, family and fans as a favorite. He loved it as well and recorded it a few a times; it appears here from his great album Passageways. The lyrics follow a brilliant internal logic, falling one after the other in an inspired flow. The melody again has that heard-it-in-a-dream quality of familiarity, even as he’s taking wordplay into uncharted territory. “I don’t know Doctor Phil or Doctor Ruth,” he sings, “but Doctor Ruthless, he lives in everyone.”

“Sinking Signs”

Here’s a great example of Flavor Basket in folk-punk mode, with arrangements that channel the Violent Femmes. Another great tune in this mode is “Backseat Romance” from Wally Neal and Matthew Dake backed Vestal on both Passageways and, embracing the minimalism from his first albums but making his rockers hit harder.

“Supersonic Superman”

A lovely video from one of Flavor Basket’s performance at the Arbor Bar in Fairfield, where he will be celebrated in tribute on March 30. A great recording of this song also appears on his classic album Artificial Flavor, a three-disk, 33-song masterpiece.

“Gummy Bears”

Vestal started writing songs in his early teens and this is one of the first he ever wrote. His brother Mark tells of hearing him play this for some family members and being blown away at his confidence and the tune’s catchiness right out of the gate. Mark and his friends Ron and Don backed Vestal on guitars and drums — with another brother Andy singing along — and created this treasure of a recording. The lyrics are hilarious and his lifelong love of pop-punk is apparent.

“My Lord Savior”

Vestal has a way of alternating easily between goofiness and utter sincerity, blending the two in a way that really captures his personality in song form. Here we hear him adopting a Ringo-like funny voice when he’s not intoning like an angel. But that’s Vestal: His goofiness, his playfulness, his off-handed manner are the same things that made him so sweet, innocent and memorable. This is one of his nicest guitar arrangements as well.

“Sandy 69”

This is one of the songs from Vestal’s teens that he continued to play throughout his career. It perfectly captures the twin impulses toward blisteringly fast punk and sweetness-soaked tunefulness that would go on to color his magical songwriting run.

[gravityform id="17" title="false" description="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper your-village-form_wrapper' id='gform_wrapper_17' ><a id='gf_17' class='gform_anchor' ></a><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_17' id='gform_17' class='your-village-form' action='/enter-the-crawlspaces-of-love-an-introduction-to-flavor-basket/#gf_17'> <div class='gform_body'><ul id='gform_fields_17' class='gform_fields top_label form_sublabel_below description_below'><li id='field_17_7' class='gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible' ><h3 style="font-weight:800; font-size:34px;">Let's get started</h3> <p style="font-size:18px;">Fill out this form and we'll contact you with information about marketing with Little Village!</p></li><li id='field_17_4' class='gfield field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label gfield_label_before_complex' for='input_17_4_3' ></label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name gfield_trigger_change' id='input_17_4'> <span id='input_17_4_3_container' class='name_first' > <input type='text' name='input_4.3' id='input_17_4_3' value='' aria-label='First name' tabindex='2' aria-invalid="false" placeholder='First name'/> <label for='input_17_4_3' >First</label> </span> <span id='input_17_4_6_container' class='name_last' > <input type='text' name='input_4.6' id='input_17_4_6' value='' aria-label='Last name' tabindex='4' aria-invalid="false" placeholder='Last name'/> <label for='input_17_4_6' >Last</label> </span> </div></li><li id='field_17_5' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_5' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_5' id='input_17_5' type='text' value='' class='large' tabindex='6' placeholder='Company name' aria-required="true" aria-invalid="false" /></div></li><li id='field_17_3' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_3' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_email'> <input name='input_3' id='input_17_3' type='text' value='' class='large' tabindex='7' placeholder='Your email address' aria-required="true" aria-invalid="false"/> </div></li><li id='field_17_8' class='gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_' ><label class='gfield_label' for='input_17_8' >Name</label><div class='ginput_container'><input name='input_8' id='input_17_8' type='text' value='' /></div><div class='gfield_description'>This field is for validation purposes and should be left unchanged.</div></li> </ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_17' class='gform_button button' value='SUBMIT' tabindex='8' onclick='if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; jQuery("#gform_17").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=17&amp;title=&amp;description=&amp;tabindex=1' /> <input type='hidden' class='gform_hidden' name='is_submit_17' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='17' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_17' value='WyJbXSIsIjlmNzc1YTEyZmZjNmYyODk5Mzk0NDM3ZjRlOGYyZDNmIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_17' id='gform_target_page_number_17' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_17' id='gform_source_page_number_17' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="229"/><script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_17' id='gform_ajax_frame_17'>This iframe contains the logic required to handle Ajax powered Gravity Forms.</iframe> <script type='text/javascript'>jQuery(document).ready(function($){gformInitSpinner( 17, '' );jQuery('#gform_ajax_frame_17').load( function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_17');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_17').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;if(is_form){jQuery('#gform_wrapper_17').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_17').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_17').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_17').offset().top); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_17').val();gformInitSpinner( 17, '' );jQuery(document).trigger('gform_page_loaded', [17, current_page]);window['gf_submitting_17'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_17').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_17').offset().top);jQuery(document).trigger('gform_confirmation_loaded', [17]);window['gf_submitting_17'] = false;}, 50);}else{jQuery('#gform_17').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [17, current_page]);} );} );</script><script type='text/javascript'> if(typeof gf_global == 'undefined') var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2},"base_url":"https:\/\/\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope","number_formats":[],"spinnerUrl":"https:\/\/\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope\/images\/spinner.gif"};jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 17) {if(typeof Placeholders != 'undefined'){ Placeholders.enable(); }} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [17, 1]) } ); </script>