Initial commit, fleshing out the functions.