How are namespaces and include files related and why do we need both?