infer protocol for flatly theme