allow delegation to default constructor via natural syntax
force default constructor to be shared