generic
    -- definition of items in forms
    type Items is (<>);

    -- names of forms
    type Forms is (<>);

    -- path to where work orders will reside
    Work_Order_Path : String;

    -- path to where work lists will reside
    Work_List_Path : String;

    -- full path to venture
    Venture_Path : String;

    -- not yet implemented
    Edit_Forms_In_Order : Boolean := True;
package Cm_Generic is

    procedure Create_Work_Order (Title : String := ">>NOTES<<");
    procedure Edit (Work_Order : String := ">>ORDER NAME<<"; For_Form : Forms);

    procedure Check_In (What_Object : String := "<CURSOR>";
                        Comments    : String := ">>COMMENTS<<";
                        Work_Order  : String := ">>ORDER NAME<<");

    procedure Check_Out (What_Object : String := "<CURSOR>";
                         Comments    : String := ">>COMMENTS<<";
                         Work_Order  : String := ">>ORDER NAME<<");

    procedure Display (Work_Order : String := ">>ORDER NAME<<");

    procedure Show_Work_Orders (For_Work_List : String := ">>WORK LIST<<");

    procedure Show_Info (For_Configuration : String := "<CURSOR>");

    package Form_Definition is
        procedure Add (Header : Items; Prompt : String; To_Form : Forms);
    end Form_Definition;

    package Initialization is
        procedure Init_Index;
    end Initialization;
end Cm_Generic;