namespacing makes sense and is reusable now