Add all of the functions to make this work