WARNING: Some bad language.