background and environnement implementation