This should've existed a long time ago.