finished function interfaces, compiles now