rename SoStatment to SoLimb, to prevent naming conflict
rename insert to push and add it to the template, now more understandable