compile template