Improved on speed and accuracy