modified constructor
modified constructor