modified API style and supported to specify background color