starts isSolvable implementation