added comments to constructors to improve clarity