Changes to interface, added internal namespace, new convention is for internal classes to be lower case and for external classes to be capitalized