Contracts/purpose for these functions?