improving the performance