free move, pattern and parsing