add unicode and better validation to ContentMap