First cut. Lots of rough edges. Still need to figure out patch-creation