hehe, fix the bugs