A novel way of organizing a data management system (DMS) is introduced. This approach eliminates the need to enhance 'host languages' with data manipulation language (DML) statements. Instead the problem of interfacing a DMS with application programs is solved using a module creation language (MCL) which enables the user to create modules which act as an interface between the two. A language (NEWTON) having the features required for this purpose is presented. The language incorporates a number of original ideas and, in addition to being suited for use as the MCL of a DMS organized in the proposed manner, it is also appealing as a general purpose language.