better locale handling