Changed domain model, and added GenericDao Implementation.