basic option handling