Slightly Optimized #23.  From 11.6s to 8.3s.  Still kinda slow...