more parsing/scanning routines