incremental solver
better handling of free vars