RFT: split useless codes from class