+ add the abstract template