flags are required even when unused