func impl.