No need for silly goto's and early returns