marked @internal method