canon; optimizations and other stuff