still need to fix Out of memory exception