use option instead of pre_option