documented functions i've learned