Typedefs should come first, then constructor/destructor, then member functions.