detects positional changes