reordering for eclipse and initial redesign