由fluxyster 做的修改