refactored call_option