make functions private where I can, except to translate- ones that are tested independently