[API] re-introduce templates