some performance changes