Implement (untested) handling for all mtl directives

Closes #5