Might be worth splitting this out for readability.