committing functional messaging