maybe use the do..while(0) construct here