readded fixed optimized version