add the Construct function