using better templates