template compile part 2