Final commit minus small style changes.