added exeption throw in constructor