template constructor experiments
memory leaks reparation