rebuilt with boost for regexes