please document class members and all typedefs.