Fast, efficient, and gives full answers