support different BACKGROUND types