remaking constructor