No need to make it an inner def IMO