improved guts(), calling nonBlankChildNodes() instead of childNodes()