Introducing templates concept