add and fix funcs