factoring more classes into builders not extending