Added documentation by @petrocket