commit a working version(faster)