Separating out implementations.