abstract template reading