add library function templates