improved performance of all methods