add additional constructor