fixes #8: formats are now defined using format plugins