added vertical and diago left/rigth verification, need to check on
multiple examples but seems to work
also need to reduce the loop verification and optimize check