main hash