improved the performance