remove internal use function