Add more patches and optimization