fluid ship movement, keystates instead of polling