some DRY, code style and doc improvements
use specific namespaces