fixed screen bug, better memory usage