Explicit visibility on functions, since I've added a few protected ones below.