infrastructure to support more formats