proper option handling