[TODO]: add template loader