detail reconstuctor