Coded by Jaz and open sourced on Github