added templates and statics