This took me way longer than it should have