Some Improvments

in include system
use enums from C++ syntex (use the ::)