streamlined code; ?id allows underscores now