part of tutorial3
check with solution