Webshims implementation

Well, this was more complicated than I bargained for!