Rebuild backend design #102

Datatypes