first init with borrowed template