#559 optimized even better