handles a file of types