All of these need to be separate functions with their own documentation.