rebuild some class use extract method