Behold it works; now it needs a widget and lots of other stuff before it's a mature replacement