better option handling (wip)