use next for proc instead of return