length and velcity updates now return self