add flag checking