fix some bug in archer