constructor name clashes