CSP3: Readding changes from level 2, which accidentally got removed.