Simplifications; most importantly, no longer using namespaces