Long Overdue Commit

Many changes...