More template abstractions