added & more explanation