refactored signatures and namespaces