fix bug: return isnt goto