Separate formats from validators

Resolve #23