additional callback API to support multiple files

that have the same name. closes #21