basic ideas