Final logic changes. Now, clean up and final testing left.