Separate cpp code for templates; naming convention