Reorganized version