Base implementation

Data Transfer Object: it's just a protection layer.