added allow_other option