completed default function