- special  function finished