add canonical