change this to super template