Constructor Reimplemented