Initial check-in (compiles but untested)