refactor sn=