reorganized so all class methods above all instance methods