working on option handling