make this a private fn to make it a bit more readable.