Try to have only one exit point per function, returning here can be hard to follow.