explain the purpose