try to rewrite list function in toy.. but now it has some bug