expose sm()