From here on, the functions should be `private`.