* reduced scope and cyclic complexity
* reduced scope + const
* replaced header guards by #pragma once