reconstruction for templates inheritance