simpler and better constructor name API