command interpretation