somewhat expensive to compute names twice