added extensions and implementions in abstract moving object