Feature optional modifiers and ordering

Fixes #4