Please add tests for all of these functions.