implemented background