Modified to mention the functional spec. Only a first draft.