filled in functions