canonical problems