optimizing, got down to 10 seconds