adding missing namespace
improved documentation
adding missing include files