Updated the value object pattern