Added abstract template