Improve the performance (75% done)