faster, but ugly refresh