Updated with better namespacing