Potential uninitialized variable
Add doxygen generation, future docs will be in javadoc format
Add extern for including to C++