* doxy warnings
* reduce scope
* static_cast
* reduce scope
* #pragma once