make transparent background optional