add template & bug fix