Changed attempt to not return boolean instead throw exception.