add while but with bug add finished for