Some sort of comments on these functions would be nice.