add canon definition