basic explanation added