first commit struct with template