Reimplemented all data classes