The pseudopotential is an effective potential constructed to replace the atomic all-electron potential (full-potential) such that core states are eliminated and the valence electrons are described by pseudo-wavefunctions with significantly fewer nodes. This allows the pseudo-wavefunctions to be described with far fewer Fourier modes, thus making plane-wave basis sets practical to use. In this approach usually only the chemically active valence electrons are dealt with explicitly, while the core electrons are 'frozen', being considered together with the nuclei as rigid non-polarizable ion cores. It is possible to self-consistently update the pseudopotential with the chemical environment that it is embedded in, having the effect of relaxing the frozen core approximation, although this is rarely done. In codes using local basis functions, like Gaussian, often effective core potentials are used that only freeze the core electrons.