separate out naming functionality