Explanation

Working principle and other documentation of this module is available at Medium.