without templates