Made quite a few fixes to make this usable... but there are still lots of unsupported features and things that don't work in a generic sense.