Should not we use the internal implementation here?