persist state
query
command processor
better input selection