sm is immutable