here I also would prefer to return from every single branch explicitly.