move prperty ro class better able to fulfill it
extract different responsibilities
return current index