Bug: #41 added documentations for functions