perfect receive api functions