support n level headers, rename starts_with