completely extract all method via crtp.