add sn ,some bug (recall the same function )not fixed