Cleanup and reorganized.