added linear motion version
added linear motion