Record should be abstract