moved special characters and jarrow object init up, simplified comparison, generates distance only when necessary