training algorithm can be chosen through annotation