Updated almost everything. Many more changes to follow.