changed to more flexible do-while