add flag parsing