First commit. Required stuff done, some optional stuff done. More to do if there's time; this is a safety.