better option handling