background function added