use templatable
add loading
change examples