add valueobject support
reconstruct messageformat and messagestore