flexible display implementation

supports multiple formats per datatype

closes #25