8th,modified constructor