added frame independent movement