Initial commit.
Merged in with some previous repo; bugs mostly fixed.