avoid passing String around