conditional decorator with arguments