constructor update