almost implemented assumptions -- left: take care of flags being the same but treated different