add init and final velocity, fix bug and on going work