A lot of changes. This will serve as the new base.