====== Namespaces ====== Namespaces are a possibility (that you should use, but not overuse!) to structure your classes. A sample of working code: Customer.Item.prg begin namespace Customer class Item # Class code end class end namespace Supplier.Item.prg begin namespace Supplier class Item # Class code end class end namespace and now how to use these classes: local oCustomerItem as Customer.Item local oSupplierItem as Supplier.Item oCustomerItem := Customer.Item{} oSupplierItem := Supplier.Item{} Please note that with the "using" statement you don't need to fully specify the class like in this code: using Customer local oItem as Item oItem := oItem{} For the compiler, it must be clear which class to use, so if you have use classes that are defined multiple times in different namespaces, you need to fully qualify them. The following code will lead to a compiler warning: using Customer using Supplier local oCustomerItem as Item oCustomerItem := Item{} because you need to specify which class to take. The compiler has no chance to do that correctly.