need fix the bugs