more explanation in basics