There are two tables being updated in the else, would it not make it maybe more confusing to have one be as the return value and the other inline to the code?