add while and do-while