work on FileMarshaller which uses a Contract object to find out what is a file.