Improve the performance and inferface