introbuce #options as a new DSL