added very low-level move detection