updated with dynamic change background