tried to reduce complexity in Movement