SMGenerator