Added valueobject and validation structure