added windowing. it didn't make it faster. why does this implementation suck!