redisign schema pseudo