use own message factory and reuse others where needed
fix location not reorderd because twice in schema