Basically finish the functions