Reorganized and cleanup.