Template pattern finished