defining components and namespacing