Why are these all extern?