allow spacing at beginning and end; allow multiple root nodes