fileutils
singledispatch