added movement constraints