performance improoved with goto statements