For information on how this works read here