Don't expose API without good reason: use internal