Pulled in changes from Strut
Made compatible with node and the browser
Fixed things up to pass the tests again.