fix: reimplement directive with templateUrl.
fix: remove recursive directive in the template.