GenSln implementation