forgot to import functools