create another way for memory reduce!