Coevolving Innovations

… in Business Organizations and Information Technologies

Conversations for action, commitment management protocol

In the interest of furthering a science of service systems, the language-action perspective may be relevant. Business-oriented researchers have an appreciation of the gap between what people say and what they do, but may not be familiar with the development of this framework coming from computer science. Two decades of the language-action perspective were recently marked since the publication of Understanding Computers and Cognition in 1986 by Terry Winograd and Fernando Flores. It’s been almost three decades since “Doing and Speaking in the Office” by Fernando Flores and Juan Ludlow first appeared in an IIASA conference proceedings in 1980. This approach was foundational to the Commitment Management Protocol, as described in Adaptive Enterprise: Creating and Leading Sense-and-Respond Organizations by Steve Haeckel in 1999. The language-action perspective can provide some clarity in describing coordination within a service system.

Let’s trace the development of ideas, following milestones in three major sections:

  • 1. What’s the linkage between language and action at work? Doing and speaking in the office
  • 2. How do computers fit into collaborative work? Understanding computers and cognition
  • 3. How can empowered workers coordinate outcomes and roles? Commitment management protocol

These works were published in 1980, 1986 and 1999. The viewpoints are all complementary, with each oriented towards slightly different issues.

In a retrospective view, the roots of the language-action perspective are in the era when the potential and limits of artificial intelligence were being debated, as described by Weigand (2006).

At the core of this perspective is the question: How can IT play a role in improving human communication in organizations and in society as a whole? The conclusion that software is unlikely to ever exhibit intelligent behavior was reached by a powerful new interpretation of skillful action based in the work of modern philosophers. The essence of their interpretation is that skillful action always occurs in a context set by conversations, and in the conversations people perform speech acts by which they commit to and generate the action.

Expert behavior requires an exquisite sensitivity to context and an ability to know what to commit to. Computing machines, which are purposely designed to process symbols independent of their context, have no hope of becoming experts. Winograd and Flores said that questions on the AI agenda at the time, such as “Can a machine think?”, are meaningless. They proposed instead that we use our understanding of action-through-language to improve the way we design computers to effectively support human practice. [pp. 45-46]

The struggle around artificial intelligence is demonstrated in the publication by Hubert Dreyfus of What Computers Can’t Do in 1972 — revised as What Computers Still Can’t Do in 1992. Fernando Flores was at Berkeley in the late 1970s, and acknowledges the influence both of Hubert Dreyfus and John Searle.

1. What’s the linkage between language and action at work? Doing and speaking in the office

Circa 1980, in addition to the interest in artificial intelligence, there was a large body of research into decision support systems. The meeting by IIASA was convened under the theme of decision support systems. At a slight tangent was the concrete question of “what do people do in an office?”, making a linkage between action and communications by Flores and Ludlow (1980).

If we examine the basic issues underlying the questions, “What do people do in an office?” and “What is communication in an office?” we find that the questions are not truly different. Our theory of commitments and conversations allows us to give an answer to these questions that provides guidelines for examining the work in an office or organization.

Let us use the insights gained into the relationship between commitments and action to analyze organizations. For this purpose we make the following assertions:

  • Organizations exist as networks of directives and commissives.
  • Break-downs will inevitably occur and organizations need to be prepared for them. In the process of coping with break-downs, whole new networks of directives and commissives are triggered. [p. 102]
  • The process of division of labor may be considered a cultural heritage of ways to cope successfully with anticipated break-downs. This has been a constant concern for managers.

Let us present an example that illustrates these three assertions. Consider a company that sells books by mail. Requests for books arrive in letters worded in the following way: “Please dispatch to me, and charge to my account. the book XXXX, by the author such and such.” If the business is well organized the client will be attended to quickly and the company will make some profit. When the number of such requests is large, several persons will carry out different parts of the work in the organization. Some will receive the requests, others will dispatch the books and invoices, send letters of acknowledgment, order books from the publishers, anticipate the levels of the inventories, and so on.

The organization must be careful to influence the orders from the clients through advertising and promotions: it would be fatal to receive hundreds of requests for cookbooks if the company specialized in scientific books.

Break-downs are the way in which concerns appear to each member of the organization. Many are already anticipated in the form of work specialization, standard forms, rules for credit, policies about levels of inventories, etc. In this sense the notion of breaking-down also applies to daily notions such as negative perturbation or trouble. To be in business is to know how to deal with break-downs, to anticipate their arrival, and to face them. The concerns are concerns about doing somethinq. The two par excellence social forms of concern are contracts, two mutual promises, and the internal managerial conversations within the organization. The principal flow in the network of action is generated by the contractual relations of the organization, linked to the internal managerial relationships. Internal conversations may be supported by other networks of action that appear to be related only in a very indirect way with the principal flow. [p. 103]

Directives and commissives naturally occur between supervisors and subordinates. More generally, however, they can occur between peers. Breakdowns naturally occur as a fact of business life. Whether the breakdown is remediated at the peer level or requires escalation to a higher power depends on the skills of the parties involved, and the scope of the impact. The majority of breakdowns really shouldn’t be handled by the management hierarchy, as the communication channels would soon become flooded.

The above description of organizations naturally leads to questions about what directives and commissives are. They appeared a little bit earlier in Flores and Ludlow (1980).

Searle distinguishes five kinds or ‘families’ of illocutionary acts along these dimensions of commitment, namely assertives, directives, commissives, declaratives, and expressives. [….]

The distinguishing characteristic of a directive is the commitment by the speaker, as he asks for the (future) performance of some action by the hearer. The propositional content of the directive expresses the action to be performed. [….] An imperative, where no illocutionary verb is explicitly mentioned, is normally understood as a directive. We may also distinguish actions such as requests, petitions, implorations, and orders as members of this class. [….] [p. 98]

Searle gives the name commissives to the particular class of acts in which the speaker becomes committed to the future performance of an action. As a speaker utters a commissive — a promise for example — he is also making the commitment that he has a serious intention to perform the action. [….] Verbs such as swear, commit, vow, and pledge in the present indicative are normally taken as commitments of this kind. [….]

All utterances are commitments according to this theory. In everyday use the word commitment is normally associated with what we call commissives, but this is an understanding we challenge. We instead assert:

  • It is unavoidable that commitments are expressed and listened to by the participants in a conversation.

What is peculiar about commissives is the double self referentiality of the commitment of the speaker, i.e., the expressed commitment to the intention to perform the act and the creation of the obligation to perform the act, as such. [p. 98]

Customers (or supervisors in an office) clearly issue directives (e.g. do X, do Y) as speech acts. The probability that the future will include such an outcome depends greatly on (a) an actor responding with a commissive (e.g. I will do X), and (b) the customer (or supervisor) hearing the commissive. While the actor may proceed on a directive without a confirming conversation with the customer or supervisor, this introduces a risk that the outcome produced may not be exactly as desired.

Of the other kinds of illocutionary acts, two are described later in the Flores & Ludlow (1980).1

2. How do computers fit into collaborative work? Understanding computers and cognition

The 1980 publication focused on conversations and action, and only briefly touched on the supporting information technologies. For the details that would be asked by information systems designers, the dynamics within conversations for action are better described in Winograd and Flores (1986).

… we will consider in some detail the network of speech acts that constitute straightforward conversations for action — those in which an interplay of requests and commissives are directed towards explicit cooperative action. [….]

We can plot the basic course of a conversation in a simple diagram like that of Figure 5.1, in which each circle represents a possible state of the conversation and the lines represent speech acts. This is not a model of the mental state of a speaker or hearer, but shows the conversation as a ‘dance.’ [p. 64]

Figure 5.1: The basic conversation for action

The lines indicate actions that ran be taken by the initial speaker (A) and hearer (B). The initial action is a request from A to B, which specifies some conditions of satisfaction. Following such a request, there are precisely five alternatives:

  • the hearer can accept the conditions (promising to satisfy them),
  • can reject them, or
  • can ask to negotiate a change in the conditions of satisfaction (counteroffer).
  • The original speaker can also withdraw the request before a response, or
  • can modify its condition. [p. 65, editorial paragraphing added]

Each action in turn leads to a different state, with its own space of possibilities. In the ‘normal’ course of events, B at some point asserts to A that the conditions of satisfaction have been met (moving to the state labelled 4 in the figure).

  • If A declares that he or she is satisfied, the conversation reaches a successful completion (state 5).
  • On the other hand, A may not interpret the situation in the same way and may declare that the conditions have not been met, returning the conversation to state 3.

In this state, either party may propose a change to the conditions of satisfaction, and in any state one or the other party may back out on the deal, moving to a state of completion in which one or the other can be held ‘liable’ (states 7 and 9). [pp. 65-66, editorial paragraphing added]

There are more details about the conversation structure, which we can leave for the motivated.2

It’s worth noting that the conversations for action framework has not been without significant discussion in the Computer Supported Cooperative Work journals. Concern arose about management control of workers, potentially approaching Foucault’s model of discipline and punishment when control is too heavy-handed. The impact of technology on organization was a concern, “for technical systems it is the computer scientist (presumably assisted by organizational development consultants and the managers who employ them) who is now cast into the role of designer not only of technical systems but of organizations themselves” (Suchman, 1994). Responses included that, in large enterprises, “the use of explicitness makes possible coordination of kinds that could not be effectively carried out without it.” (Winograd, 1994).

3. How can empowered workers coordinate outcomes and roles? Commitment management protocol

The application of Flores’ conversations for action and the commitment management protocol in Haeckel’s Adaptive Enterprise are obvious. However, the context for the framework has a different orientation. Flores cites Henry Mintzberg on “The Manager’s Job: Folklore and Fact” in Harvard Business Review, from 1975.

The manager’s job can be described in terms of various “roles,”, or organized sets of behaviors identified with a position. My description, shown in Exhibit I, comprises ten roles. As we shall see, formal authority give rise to three interpersonal roles, which in turn give rise to the three informational roles; these two sets of roles enable the manager to play four decisional roles. [p. 54]

Exhibit I: The manager’s roles [p. 55]

Formal authority
and status
Interpersonal roles
Informational rules
Decisional roles
Disturbance handler
Resource allocator

In the 1990s, Haeckel saw that management as command-and-control didn’t reflect the realities of the rise of the knowledge worker and the market driven organization. While business executives continue to maintain their formal authority and status, senior business professionals can be more effective when responding directly to customer requests by taking on roles devolved situationally. They can set up their own structures of action with clarity, as who owes what to whom. Self-coordination across groups can be established and operate effectively, with the management hierarchy required to intervene only in cases of breakdowns, in Haeckel (1999):

By coordinating the dynamics of who owes what to whom and detecting breakdowns early on, leadership can manage the interactions without interfering with the actions of empowered and accountable people. [….]

Organizational responsiveness comes from giving individuals and groups the freedom to behave in ad hoc ways to respond to unforeseen circumstances. Because followers know more than leaders do about how to respond, it makes no sense for managers to define their subordinates’ behaviors in advance. It is the ends — not the means — that matter. As the discussion of high-level business designs emphasized, specifying outcomes, rather than the activities undertaken to produce them, is the essence of adaptive system design. In a sense-and-respond organization, roles make commitments to one another to produce outcomes. These inter-role commitments are the interactions that matter most and must be managed. For this reason, organizational roles are defined in terms of accountability for commitments to particular outcomes, rather than in terms of activities. [p. 142]

As a complement to the formalization of conversations for action, outcomes and acceptance of accountabilities when taking a role are emphasized in Haeckel (1999).

In the sense-and-respond governance system, a commitment is an agreement between two parties to produce a defined outcome and to accept that outcome if it meets the conditions agreed to. One party, the supplier, takes responsibility for producing the outcome. The other party, the customer, must accept the outcome it if meets the conditions of satisfaction. Accountability is established by this interaction. It is a personal acceptance of the consequences of making a commitment. Accountabilities exist only in connection with commitments between people. A person must be accountable to someone, which means no one can be generically accountable for sales, manufacturing, or quality. For the same reason, no process, machine, or system can be accountable for anything. Accountability arises from an agreement between two people about who-owes-what-to-whom. [pp. 142-143]

Describing commitments as protocols reflects the desire for adaptiveness. The meaning of protocol has linguistic roots as the first pages — think of first steps — in a larger set of procedures or rules. The approach is not to create an exhaustive representation for every potential path and contingency, but instead to capture the essential features of a desired future state so that action can proceed. The commitment management protocol is described in greater depth in an appendix of Haeckel (1999):

Every commitment involves a supplier and a customer. The terms identify the provider recipient of any specified outcome and so can refer to two parties within an organization internal supplier responding to an external customer. A visualization of the commitment management protocol described in Chapter 8 looks like the diagram in Figure C-1.

Figure C.1 Another view of the commitment management protocol

The vertical arrows represent the speech acts separating the task stages of a commitment. Defining or recognizing a need leads to a request, which leads to negotiation. Agreement in turn leads to the performance of the tasks required to achieve the outcome. (These tasks may, of course, involve subsidiary commitment workflows.) Reporting completion of the work leads to assessment of the outcome (that is, of whether it meets the agreed-to conditions of satisfaction) and its acceptance or rejection. [p. 243]

This sequence is always the same, except that it may start with an offer rather than a request. The specific positioning of the speech acts allows a process designer to affect the amount of risk associated with a particular commitment. Making a commitment, for example, (agreeing) immediately after receiving a request, and without negotiating the subordinate commitments on which its fulfillment depends, invites some risk. [….] But if the request will always be a standard one carried out successfully many times before, the risk will be minimal, and designing for an immediate agreement is reasonable. If, on the other hand, the request is unprecedented, the supplier will want to minimize risk by positioning the agreement closer to the report of completion and adding subsidiary protocols in the negotiation phase to charter a feasibility study or development of a prototype. In especially high-risk circumstances, the supplier may even choose to cary out tasks normally not carried out until the perform phase, such as conducting a feasibility study, before agreeing to the commitment. [pp. 243-244]

Using the commitment management protocol to design adaptive processes involves these basic steps.

  • Define the roles.
  • Establish the customer-supplier relationships between roles, specifying outcomes and conditions of satisfaction.
  • Sequence the speech acts within and between customer/supplier pairs, making sure that necessary communications with subsidiary suppliers precede the communications that depend on them.
  • Define the tasks to be accomplished in each of the four procedural, or task, phases in appropriate detail. [pp. 244-245]

In addition to tracking commitments, the protocol can be used as a tool for diagnosing existing processes. [p. 245]

The formal recording of commitments that individuals should take on in roles can be limited to the most significant. However, as parties find that clarity helps to accelerate desirable outcomes while minimizing communication breakdowns, they may begin to recognize the patterns in their speech and more carefully articulate verbal agreements. Language action can be seen as a skill that can be developed to enable innovating as a practice.

Application to a science of service systems

A service system defined “as a dynamic configuration of resources” requires a method of coordination. When a supplier, customer and subcontractors form a value constellation, keeping track of “who owes what to whom” enables multiple actors to effectively contribute towards mutual benefit. The degree to which commitments need to be formally documented depends on the scale of effort, number of parties involved and willingness to clarify expectations and roles. While the language action perspective can contribute to improved effectivess in personal interactions, the challenge at scale is adoption of its precision at organizational and inter-organizational levels.


1 Flores and Ludlow (1980) focus on directives and commissives, but do also describe assertions and declaratives. Assertions become important in completing a conversation for action. Declaratives enable an individual to act on behalf of another individual, or as an agent for an organization.

Assertions. This is the kind of utterance in which a speaker becomes committed that the belief (or disbelief) that is expressed is justified and justifiable. In other words, the speaker is committed that something is the case, to the truth of the expressed proposition.

There are different kinds of assertions, such as assurances, reports, evaluations, and predictions. Their central feature is the speaker’s implicit offer to provide some evidence or grounding for what he is asserting. If he fails to provide this, it could be said that the speaker has made a false assertion. If this failure is intentional the assertion will be called a lie. […]

Declaratives. The distinguishing feature of the declarative form of commitment may be described as follows:
when it is performed by a speaker, it brings about a correspondence between the propositional content and the World. Successful performance of these utterances guarantees that the propositional content corresponds to the World. Through.declaratives it is possible to bring about a reorganization of the whole social space, including the rights of the other members of the universe of discourse to question what is declared as something true or appropriate.

Declarative forms of commitment occur within an organization in a very particular way: they are executed with the support and within the protection of institutions of Law. When someone is appointed to a new position, or receives the power to sign documents like bank checks on behalf of a company, it is necessary that this act of transference of a new status of power be carried out by people especially endowed with the authority to perform it; as well, this act must be done in the proper circumstances. […]

2 Assertions, listening, and conditions of satisfaction are significant details in the conversations for action in Winograd and Flores (1986).

Several points about this conversation structure deserve note:

1. At each point in the conversation. there is a small set of possible actions determined by the previous history. We are concerned here with the basic structure, not the details of content. For example, the action ‘counteroffer’ includes any number of possibilities for just what the new conditions of satisfaction are to be.

2. All of the relevant acts are linguistic — they represent utterances by the parties to the conversation or silences that are listened to as standing for an act. The act that follows a commitment is an assertion (an assertive speech act) from the original hearer to the requestor that the request has been satisfied, and must be followed by a declaration by the requestor that it is satisfactory. The actual doing of whatever is needed to meet the conditions of satisfaction lies ontside of the conversation.

3. There are many cases where acts are ‘listened to’ without being explicit. If the requestor can recognize satisfaction of the request directly, there may be no explicit assertion of completion. Other acts, such as declaring satisfaction, may be taken for granted if some amount of time goes by without a declaration to the contrary. What is not said is listened to as much as what is said.

4. Conditions of satisfaction are not objective realities, free of the interpretations of speaker and hearer. They exist in the listening, and there is always the potential for a difference among the parties. This can lead to breakdown (for example, when the promiser declares that the commitment is satisfied, and the requestor does not agree) and to a subsequent conversation about the understanding of the conditions.

5. There are a few states of ‘completion’ from which no further actions can be taken (these are the heavy circles in the figure). All other states represent an incomplete conversation. Completion does not guarantee satisfaction. For example, if the promiser takes the action of ‘reneging,’ the conversation moves to a completed state, in which the original request was not satisfied.

6. The network does not say what people should do, or deal with consequences of the acts (such as backing out of a commitment). These are important phenomena in human situations, but are not generated in the domain of conversation formalized in this network. [p. 66]

The analysis illustrated by this network can then be used as a basis for further dimensions of recurrent structure in conversations. These include temporal relations among the speech acts, and the linking of conversations with each other (for example, a request is issued in order to help in the satisfaction of some promise previously made by the requestor). [p. 67]


Dreyfus, Hubert L. 1992. What computers still can’t do : A critique of artificial reason. Cambridge, MA: MIT Press.

Dreyfus, Hubert L. 1972. What computers can’t do: A critique of artificial reason. New York, NY: Harper & Row.

Flores, Fernando, and Juan J. Ludlow. 1980. Doing and speaking in the office. Decision Support Systems: Issues and Challenges, Proceedings of an International Task Force Meeting, June 23-25, 1980.

Haeckel, Stephan H. 1999. Adaptive enterprise : Creating and leading sense-and-respond organizations. Boston: Harvard Business School Press.

Mintzberg, Henry. 1975. The manager’s job: Folklore and fact. Harvard Business Review 53, (4) (07//Jul/Aug75): 49-61.

Suchman, Lucy. 1994. Do categories have politics? Computer Supported Cooperative Work (CSCW) 2, (3): 177-90.

Weigand, Hans. 2006. Introduction to the special issue on two decades of the language-action perspective. Communications of the ACM 49, (5): 44-6.

Winograd, Terry. 1994. Categories, disciplines, and social coordination. Computer Supported Cooperative Work (CSCW) 2, (3): 191-7.

Winograd, Terry, and Fernando Flores. 1986. Understanding computers and cognition: A new foundation for design. Norwood, N.J.: Ablex Pub. Corp.

  • RSS (Mastodon)

  • RSS on IngBrief

    • The Nature and Application of the Daodejing | Ames and Hall (2003)
      Ames and Hall (2003) provide some tips for those studyng the DaoDeJing.
    • Diachronic, diachrony
      Finding proper words to express system(s) change(s) can be a challenge. One alternative could be diachrony. The Oxford English dictionary provides two definitions for diachronic, the first one most generally related to time. (The second is linguistic method) diachronic ADJECTIVE Oxford English Dictionary, s.v. “diachronic (adj.), sense 1,” July 2023, For completeness, prochronic relates “to […]
    • Introduction, “Systems Thinking: Selected Readings, volume 2”, edited by F. E. Emery (1981)
      The selection of readings in the “Introduction” to Systems Thinking: Selected Readings, volume 2, Penguin (1981), edited by Fred E. Emery, reflects a turn from 1969 when a general systems theory was more fully entertained, towards an urgency towards changes in the world that were present in 1981. Systems thinking was again emphasized in contrast […]
    • Introduction, “Systems Thinking: Selected Readings”, edited by F. E. Emery (1969)
      In reviewing the original introduction for Systems Thinking: Selected Readings in the 1969 Penguin paperback, there’s a few threads that I only recognize, many years later. The tables of contents (disambiguating various editions) were previously listed as 1969, 1981 Emery, System Thinking: Selected Readings. — begin paste — Introduction In the selection of papers for this […]
    • Concerns with the way systems thinking is used in evaluation | Michael C. Jackson, OBE | 2023-02-27
      In a recording of the debate between Michael Quinn Patton and Michael C. Jackson on “Systems Concepts in Evaluation”, Patton referenced four concepts published in the “Principles for effective use of systems thinking in evaluation” (2018) by the Systems in Evaluation Topical Interest Group (SETIG) of the American Evaluation Society. The four concepts are: (i) […]
    • Quality Criteria for Action Research | Herr, Anderson (2015)
      How might the quality of an action research initiative be evaluated? — begin paste — We have linked our five validity criteria (outcome, process, democratic, catalytic, and dialogic) to the goals of action research. Most traditions of action research agree on the following goals: (a) the generation of new knowledge, (b) the achievement of action-oriented […]
  • Recent Posts

  • Archives

  • RSS on

    • 2024/06 Moments June 2024
      Summer jazz at the Distillery District, in Washington DC while at the annual systems conference, and then Toronto Jazz Festival
    • 2024/05 Moments May 2024
      Busy May with art university graduate exhibition, travel to UK seeing Edinburgh, Hull, Manchester, London, returning home for wedding in Lefroy, annual cemetery visits with family, and spending time with extended family in from Chicago.
    • 2024/04 Moments April 2024
      Return from visiting family in Vancouver BC, clan events and eldercare appointments
    • 2024/03 Moments March 2024
      More work than play for first part of month, in anticipation of trip to Vancouver to visit family.
    • 2024/02 Moments February 2024
      Chinese New Year celebrations, both public and family, extended over two weekends, due to busy social schedules.
    • 2024/01 Moments January 2024
      Hibernated with work for most of January, with more activity towards the end of month with warmer termperatures.
  • RSS on Media Queue

    • What to Do When It’s Too Late | David L. Hawk | 2024
      David L. Hawk (American management theorist, architect, and systems scientist) has been hosting a weekly television show broadcast on Bold Brave Tv from the New York area on Wednesdays 6pm ET, remotely from his home in Iowa. Live, callers can join…Read more ›
    • 2021/06/17 Keekok Lee | Philosophy of Chinese Medicine 2
      Following the first day lecture on Philosophy of Chinese Medicine 1 for the Global University for Sustainability, Keekok Lee continued on a second day on some topics: * Anatomy as structure; physiology as function (and process); * Process ontology, and thing ontology; * Qi ju as qi-in-concentrating mode, and qi san as qi-in-dissipsating mode; and […]
    • 2021/06/16 Keekok Lee | Philosophy of Chinese Medicine 1
      The philosophy of science underlying Classical Chinese Medicine, in this lecture by Keekok Lee, provides insights into ways in which systems change may be approached, in a process ontology in contrast to the thing ontology underlying Western BioMedicine. Read more ›
    • 2021/02/02 To Understand This Era, You Need to Think in Systems | Zeynep Tufekci with Ezra Klein | New York Times
      In conversation, @zeynep with @ezraklein reveal authentic #SystemsThinking in (i) appreciating that “science” is constructed by human collectives, (ii) the west orients towards individual outcomes rather than population levels; and (iii) there’s an over-emphasis on problems of the moment, and…Read more ›
    • 2019/04/09 Art as a discipline of inquiry | Tim Ingold (web video)
      In the question-answer period after the lecture, #TimIngold proposes art as a discipline of inquiry, rather than ethnography. This refers to his thinking On Human Correspondence. — begin paste — [75m26s question] I am curious to know what art, or…Read more ›
    • 2019/10/16 | “Bubbles, Golden Ages, and Tech Revolutions” | Carlota Perez
      How might our society show value for the long term, over the short term? Could we think about taxation over time, asks @carlotaprzperez in an interview: 92% for 1 day; 80% within 1 month; 50%-60% tax for 1 year; zero tax for 10 years.Read more ›
  • Meta

  • Creative Commons License
    This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
    Theme modified from DevDmBootstrap4 by Danny Machal